package com.ruoyi.qsng.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 课程收藏对象 k_course_collect
 *
 * @author kanglou
 * @date 2023-06-07
 */
@ApiModel("课程收藏对象 k_course_collect")
@Data
public class KCourseCollect extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("业务字段---学生年龄")
    private String ageApp;

    @ApiModelProperty("已售名额")
    private Long sold;

    /** 业务字段--活动名称 */
    @ApiModelProperty(" 业务字段--是否报名（包含已报名未缴费） 0否 1是（之前报名没做限制 可能是大于1）")
    private Long isApplication;

    @ApiModelProperty(" 业务字段---奖状图片多个逗号隔开")
    private String awardImage;

    @ApiModelProperty("是否收藏了 0否 1是")
    private Long isCollect;

    /** 收藏人id */
    @Excel(name = "收藏人id")
    @ApiModelProperty("收藏人id")
    private String userId;

    /** 课程id */
    @Excel(name = "课程id")
    @ApiModelProperty("收藏人id")
    private String courseId;

    /** 主键 */
    private String id;

    /** 课程名称 */
    @Excel(name = "课程名称")
    @ApiModelProperty("课程名称")
    private String name;

    /** 教师 */
    @Excel(name = "教师")
    @ApiModelProperty("教师")
    private String teacher;

    /** 教师介绍 */
    @Excel(name = "教师介绍")
    @ApiModelProperty("教师介绍")
    private String teacherContent;

    /** 课程宣传图 */
    @Excel(name = "课程宣传图")
    @ApiModelProperty("课程宣传图")
    private String picture;

    /** 课程介绍 */
    @Excel(name = "课程介绍")
    @ApiModelProperty("课程介绍")
    private String content;

    /** 课程分类 */
    @Excel(name = "课程分类")
    @ApiModelProperty("课程分类")
    private String courseType;

    /** 课程班次 */
    @Excel(name = "课程班次")
    @ApiModelProperty("课程班次")
    private String courseClasses;

    /** 课程地点 */
    @Excel(name = "课程地点")
    @ApiModelProperty("课程地点")
    private String courseLocation;

    /** 班级分类 */
    @Excel(name = "班级分类")
    @ApiModelProperty("班级分类")
    private String classCategory;

    /** 年龄段 */
    @Excel(name = "年龄段")
    @ApiModelProperty("年龄段")
    private String ageGroup;

    /** 总名额 */
    @Excel(name = "总名额")
    @ApiModelProperty("总名额")
    private Integer totalQuota;

    /** 剩余名额 */
    @Excel(name = "剩余名额")
    @ApiModelProperty("剩余名额")
    private Integer remainingQuota2;

    /** 上课时间 */
    @Excel(name = "上课时间")
    @ApiModelProperty("上课时间")
    private String classTime;

    /** 节次 */
    @Excel(name = "节次")
    @ApiModelProperty("节次")
    private Integer section;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private BigDecimal price;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("报名开始时间")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bmKssj;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("报名结束时间")
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bmJssj;

    /** 开课开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开课开始时间")
    @Excel(name = "开课开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date kkKksj;

    /** 开课结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开课结束时间")
    @Excel(name = "开课结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date kkJssj;

    /** 课程状态0下架1上架 */
    @Excel(name = "课程状态0下架1上架")
    @ApiModelProperty("课程状态0下架1上架")
    private Integer courseState;

    /** 兑换积分值 */
    @Excel(name = "兑换积分值")
    @ApiModelProperty("兑换积分值")
    private Integer exchangeIntegral;

    /** 报名须知 */
    @Excel(name = "报名须知")
    @ApiModelProperty("报名须知")
    private String notice;

    /** 微信id */
    @ApiModelProperty("微信id")
    private String openId;
    /** 用户账号 */
    @ApiModelProperty("用户账号")
    private String userName;
    /** 密码 */
    @ApiModelProperty("密码")
    private String password;
    @ApiModelProperty("手机号")
    private String phone;
    /** 用户头像 */
    @ApiModelProperty("用户头像")
    private String avatar;
    /** 学员姓名 */
    @ApiModelProperty("学员姓名")
    private String nickName;
    /** 学员年龄 */
    @ApiModelProperty("学员年龄")
    private Integer nickAge;
    /** 学员民族 */
    @ApiModelProperty("学员民族")
    private String nickNation;
    /** 学员身份证件号 */
    @ApiModelProperty("学员身份证件号")
    private String nickCard;
    /** 家长姓名 */
    @ApiModelProperty("家长姓名")
    private String homeName;
    /** 家长电话 */
    @ApiModelProperty("家长电话")
    private String homePhone;
    /** 所在学校 */
    @ApiModelProperty("所在学校")
    private String nickSchool;
    /** 所在年级 */
    @ApiModelProperty("所在年级")
    private String nickLevel;

    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setCourseId(String courseId)
    {
        this.courseId = courseId;
    }

    public String getCourseId()
    {
        return courseId;
    }
    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("courseId", getCourseId())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("openId", getOpenId())
            .append("userName", getUserName())
            .append("password", getPassword())
            .append("phone", getPhone())
            .append("avatar", getAvatar())
            .append("nickName", getNickName())
            .append("nickAge", getNickAge())
            .append("nickNation", getNickNation())
            .append("nickCard", getNickCard())
            .append("homeName", getHomeName())
            .append("homePhone", getHomePhone())
            .append("nickSchool", getNickSchool())
            .append("nickLevel", getNickLevel())
            .toString();
    }
}
